﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
using System.Runtime.Serialization;
 
namespace ET.Score.Service.Dtos
{
    /// <summary>
    /// 列车站间运行数据
    /// </summary>
   public  class TrainRunLevelInfoDto
    {
       [DataMember]
        public UInt16 StationRunLevelId { get; set; }
        /// <summary>
        /// 起点目的地编号 ，对应停车区域的索引表号
        /// </summary>
        /// 
       [DataMember]
       public UInt16 StartStopAreaId { get; set; }
        /// <summary>
        /// 终点目的地编号，对应停车区域的索引表号
        /// </summary>
       [DataMember]
       public UInt16 TMNStopAreaId { get; set; }

       /// <summary>
       /// 是否调停
       /// </summary>
       [DataMember]
       public UInt16 StopOrNot { get; set; }
        /// <summary>
        /// 运行级别分级数目
        /// </summary>
       private UInt16 m_runlevelNum;
        public UInt16 RunLevelNum {
            get { return m_runlevelNum; }
            set { m_runlevelNum = value;}
        }
        private List<UInt16> m_runlevelid;
        private List<UInt16> m_runleveltime;
        private List<UInt16> m_runlevelspeed;
       [DataMember]
        public List<UInt16> RunLevelId {
            get { return m_runlevelid; }

            set { m_runlevelid = value; }
        }
       [DataMember]
       public List<UInt16> LevelTime
       {
           get { return m_runleveltime; }

           set { m_runleveltime = value; }
       }
       [DataMember]
        public List<UInt16> LevelSpeed
       {
           get { return m_runlevelspeed; }

           set { m_runlevelspeed = value; }
       }
        /// <summary>
        /// 运行级别一编号
        /// </summary>
       [DataMember]
       public UInt16 RunLevel1Id { get; set; }
        /// <summary>
        /// 级别一对应时间
        /// </summary>
       [DataMember] 
       public UInt16 Level1Time { get; set; }
        /// <summary>
        /// 级别一对应速度
        /// </summary>
       [DataMember] 
       public UInt16 Level1Speed { get; set; }

        /// <summary>
        /// 运行级别二编号
        /// </summary>
       [DataMember] 
       public UInt16 RunLevel2Id { get; set; }
        /// <summary>
        /// 级别二对应时间
        /// </summary>
       [DataMember] 
       public UInt16 Level2Time { get; set; }
        /// <summary>
        /// 级别二对应速度
        /// </summary>
       [DataMember] 
       public UInt16 Level2Speed { get; set; }

        /// <summary>
        /// 运行级别三编号
        /// </summary>
       [DataMember] 
       public UInt16 RunLevel3Id { get; set; }
        /// <summary>
        /// 级别三对应时间
        /// </summary>
       [DataMember]
       public UInt16 Level3Time { get; set; }
        /// <summary>
        /// 级别三对应速度
        /// </summary>
       [DataMember]
       public UInt16 Level3Speed { get; set; }
        /// <summary>
        /// 运行级别四编号
        /// </summary>
      [DataMember]
       public UInt16 RunLevel4Id { get; set; }
        /// <summary>
        /// 级别四对应时间
        /// </summary>
       [DataMember]
       public UInt16 Level4Time { get; set; }
        /// <summary>
        /// 级别四对应速度
        /// </summary>
       [DataMember]
       public UInt16 Level4Speed { get; set; }

        /// <summary>
        /// 运行级别五编号
        /// </summary>
       [DataMember] 
       public UInt16 RunLevel5Id { get; set; }
        /// <summary>
        /// 级别一对应时间
        /// </summary>
       [DataMember] 
       public UInt16 Level5Time { get; set; }
        /// <summary>
        /// 级别一对应速度
        /// </summary>
       [DataMember] 
       public UInt16 Level5Speed { get; set; }
       /// <summary>
       /// 出发站名
       /// </summary>
        [DataMember] 
       public string StartStationName { get; set; }
       /// <summary>
       /// 到达站名
       /// </summary>
        [DataMember] 
       public string TMNStationName { get; set; }
       /// <summary>
       /// 达到站停站时间
       /// </summary>
       [DataMember]
        public int TMNStopTime { get; set; }
       /// <summary>
       /// 目的到站到达时间
       /// </summary>
       [DataMember]
       public DateTime ArriveTMNTime { get; set; }

       /// <summary>
       /// 出发站离开时间
       /// </summary>
       [DataMember]
       public DateTime DepartCurStationTime { get; set; }
       /// <summary>
       /// 实际离开时间
       /// </summary>
       [DataMember]
       public DateTime RealDepartCurStationTime { get; set; }
       /// <summary>
       /// 实际到达时间
       /// </summary>
       [DataMember]
       public DateTime RealArriveTMNTime { get; set; }
       /// <summary>
       /// 手自动驾驶状态0 手动 1自动
       /// </summary>
       [DataMember]
       public int DriverMode { get; set; }
       public TrainRunLevelInfoDto()
       {
           m_runlevelid = new List<UInt16>();
           m_runleveltime = new List<UInt16>();
           m_runlevelspeed = new List<UInt16>();
       }

    }
}
